CRAN(The Comprehensive R Archive Network)をクリック(The Institute of Statistical Mathematics, Tokyo)
Download R for Windowsをクリック
baseをクリック
Figure2.Rのインストール方法2
Figure3.Rのインストール方法3
「インストール」と同様の手順でインストール
ToolsをクリックしてGlobal Optionsをクリック
Figure4.Rのバージョンアップ/ダウン方法1
Figure5.Rのバージョンアップ/ダウン方法2
バージョンダウンさせたければ,ここで古いバージョンを選択する
Figure6.Rのバージョンアップ/ダウン方法3
R.versionと打ち,バージョンを確認Figure7.Rのバージョンアップ/ダウン方法4
Figure8.RStudioのインストール方法1
Figure9.RStudioのインストール方法2
Figure10.RStudioの設定1
Figure11.RStudioの設定2
Figure12.RStudioの設定3
Figure13.RStudioの設定4
Figure14.RStudioの設定5
Figure15.RStudioプロジェクトの設定1
Figure16.RStudioプロジェクトの設定2
Figure17.RStudioプロジェクトの設定3
Figure18.RStudioプロジェクトの設定4
Figure19.RStudioプロジェクトの設定5
起動するたびにパッケージを読み込む必要がある
パッケージをインストールしていなければinstall.packages("tidyverse")でインストール
library(tidyverse)
library(palmerpenguins) # サンプルデータ
locale = locale(encoding = "cp932")を指定すれば読み込める# fread(UTF-8)
# tibble型になっていないのでas_tibble()でtibble型にする
df <-
data.table::fread(".csv",
data.table = FALSE) |>
as_tibble()
# vroom(UTF-8)
df <-
vroom::vroom(".csv")
# vroom(cp932)
df <-
vroom::vroom(".csv",
locale = locale(encoding = "cp932"))
df <-
readxl::read_xlsx(".xlsx") |>
as_tibble()
# シートを指定したいときはsheet引数を使う
df <-
read_xlsx(".xlsx",
sheet = "") |>
as_tibble()
penguins
## # A tibble: 344 × 8
## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
## <fct> <fct> <dbl> <dbl> <int> <int>
## 1 Adelie Torgersen 39.1 18.7 181 3750
## 2 Adelie Torgersen 39.5 17.4 186 3800
## 3 Adelie Torgersen 40.3 18 195 3250
## 4 Adelie Torgersen NA NA NA NA
## 5 Adelie Torgersen 36.7 19.3 193 3450
## 6 Adelie Torgersen 39.3 20.6 190 3650
## 7 Adelie Torgersen 38.9 17.8 181 3625
## 8 Adelie Torgersen 39.2 19.6 195 4675
## 9 Adelie Torgersen 34.1 18.1 193 3475
## 10 Adelie Torgersen 42 20.2 190 4250
## # … with 334 more rows, and 2 more variables: sex <fct>, year <int>
ケースを絞りたいとき
“## パッケージを読み込み”を実行してから
“## パッケージを読み込み”を実行してから
matches()を用いた正規表現の詳細は別の章
# "species"を選択する
penguins |>
select(species)
## # A tibble: 344 × 1
## species
## <fct>
## 1 Adelie
## 2 Adelie
## 3 Adelie
## 4 Adelie
## 5 Adelie
## 6 Adelie
## 7 Adelie
## 8 Adelie
## 9 Adelie
## 10 Adelie
## # … with 334 more rows
# "species","island","year"を選択する
penguins |>
select(species, island, year)
## # A tibble: 344 × 3
## species island year
## <fct> <fct> <int>
## 1 Adelie Torgersen 2007
## 2 Adelie Torgersen 2007
## 3 Adelie Torgersen 2007
## 4 Adelie Torgersen 2007
## 5 Adelie Torgersen 2007
## 6 Adelie Torgersen 2007
## 7 Adelie Torgersen 2007
## 8 Adelie Torgersen 2007
## 9 Adelie Torgersen 2007
## 10 Adelie Torgersen 2007
## # … with 334 more rows
# "species"から"bill_length_mm"を選択する
penguins |>
select(species:bill_length_mm)
## # A tibble: 344 × 3
## species island bill_length_mm
## <fct> <fct> <dbl>
## 1 Adelie Torgersen 39.1
## 2 Adelie Torgersen 39.5
## 3 Adelie Torgersen 40.3
## 4 Adelie Torgersen NA
## 5 Adelie Torgersen 36.7
## 6 Adelie Torgersen 39.3
## 7 Adelie Torgersen 38.9
## 8 Adelie Torgersen 39.2
## 9 Adelie Torgersen 34.1
## 10 Adelie Torgersen 42
## # … with 334 more rows
# "species","year"をまとめて選択する
# "species","year"を含むオブジェクトを作成
obs <-
c("species", "year")
# all_of
penguins |>
select(all_of(obs))
## # A tibble: 344 × 2
## species year
## <fct> <int>
## 1 Adelie 2007
## 2 Adelie 2007
## 3 Adelie 2007
## 4 Adelie 2007
## 5 Adelie 2007
## 6 Adelie 2007
## 7 Adelie 2007
## 8 Adelie 2007
## 9 Adelie 2007
## 10 Adelie 2007
## # … with 334 more rows
# any_of
penguins |>
select(any_of(obs))
## # A tibble: 344 × 2
## species year
## <fct> <int>
## 1 Adelie 2007
## 2 Adelie 2007
## 3 Adelie 2007
## 4 Adelie 2007
## 5 Adelie 2007
## 6 Adelie 2007
## 7 Adelie 2007
## 8 Adelie 2007
## 9 Adelie 2007
## 10 Adelie 2007
## # … with 334 more rows
# ペンギンデータに含まれていない"weight"が入ったobsを作成
obs <-
c("species", "year", "weight")
# all_ofを使うと"weight"がないためエラーになる
penguins |>
select(all_of(obs))
# any_ofを使うと"weight"がなくともエラーにならない
penguins |>
select(any_of(obs))
# "bill"で始まる変数を選択する
# starts_with
penguins |>
select(starts_with("bill"))
## # A tibble: 344 × 2
## bill_length_mm bill_depth_mm
## <dbl> <dbl>
## 1 39.1 18.7
## 2 39.5 17.4
## 3 40.3 18
## 4 NA NA
## 5 36.7 19.3
## 6 39.3 20.6
## 7 38.9 17.8
## 8 39.2 19.6
## 9 34.1 18.1
## 10 42 20.2
## # … with 334 more rows
# matches
penguins |>
select(matches("^bill"))
## # A tibble: 344 × 2
## bill_length_mm bill_depth_mm
## <dbl> <dbl>
## 1 39.1 18.7
## 2 39.5 17.4
## 3 40.3 18
## 4 NA NA
## 5 36.7 19.3
## 6 39.3 20.6
## 7 38.9 17.8
## 8 39.2 19.6
## 9 34.1 18.1
## 10 42 20.2
## # … with 334 more rows
# "mm"で終わる変数を選択する
# ends_with
penguins |>
select(ends_with("mm"))
## # A tibble: 344 × 3
## bill_length_mm bill_depth_mm flipper_length_mm
## <dbl> <dbl> <int>
## 1 39.1 18.7 181
## 2 39.5 17.4 186
## 3 40.3 18 195
## 4 NA NA NA
## 5 36.7 19.3 193
## 6 39.3 20.6 190
## 7 38.9 17.8 181
## 8 39.2 19.6 195
## 9 34.1 18.1 193
## 10 42 20.2 190
## # … with 334 more rows
# matches
penguins |>
select(matches("mm$"))
## # A tibble: 344 × 3
## bill_length_mm bill_depth_mm flipper_length_mm
## <dbl> <dbl> <int>
## 1 39.1 18.7 181
## 2 39.5 17.4 186
## 3 40.3 18 195
## 4 NA NA NA
## 5 36.7 19.3 193
## 6 39.3 20.6 190
## 7 38.9 17.8 181
## 8 39.2 19.6 195
## 9 34.1 18.1 193
## 10 42 20.2 190
## # … with 334 more rows
# "length"を含む変数を選択する
# contains
penguins |>
select(contains("length"))
## # A tibble: 344 × 2
## bill_length_mm flipper_length_mm
## <dbl> <int>
## 1 39.1 181
## 2 39.5 186
## 3 40.3 195
## 4 NA NA
## 5 36.7 193
## 6 39.3 190
## 7 38.9 181
## 8 39.2 195
## 9 34.1 193
## 10 42 190
## # … with 334 more rows
# matches
penguins |>
select(matches("length"))
## # A tibble: 344 × 2
## bill_length_mm flipper_length_mm
## <dbl> <int>
## 1 39.1 181
## 2 39.5 186
## 3 40.3 195
## 4 NA NA
## 5 36.7 193
## 6 39.3 190
## 7 38.9 181
## 8 39.2 195
## 9 34.1 193
## 10 42 190
## # … with 334 more rows
# x1~x6の変数を追加したオブジェクトを作成
df <-
tribble(
~x1, ~x2, ~x3, ~x4, ~x5, ~x6,
1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18)
df
## # A tibble: 3 × 6
## x1 x2 x3 x4 x5 x6
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 2 3 4 5 6
## 2 7 8 9 10 11 12
## 3 13 14 15 16 17 18
# x1~x3の変数を選択する
# num_range
df |>
select(num_range("x", 1:3))
## # A tibble: 3 × 3
## x1 x2 x3
## <dbl> <dbl> <dbl>
## 1 1 2 3
## 2 7 8 9
## 3 13 14 15
# matches
df |>
select(matches("x[1-3]"))
## # A tibble: 3 × 3
## x1 x2 x3
## <dbl> <dbl> <dbl>
## 1 1 2 3
## 2 7 8 9
## 3 13 14 15
# "species"を選択しない
penguins |>
select(!species)
## # A tibble: 344 × 7
## island bill_length_mm bill_depth_mm flipper_length_… body_mass_g sex year
## <fct> <dbl> <dbl> <int> <int> <fct> <int>
## 1 Torger… 39.1 18.7 181 3750 male 2007
## 2 Torger… 39.5 17.4 186 3800 fema… 2007
## 3 Torger… 40.3 18 195 3250 fema… 2007
## 4 Torger… NA NA NA NA <NA> 2007
## 5 Torger… 36.7 19.3 193 3450 fema… 2007
## 6 Torger… 39.3 20.6 190 3650 male 2007
## 7 Torger… 38.9 17.8 181 3625 fema… 2007
## 8 Torger… 39.2 19.6 195 4675 male 2007
## 9 Torger… 34.1 18.1 193 3475 <NA> 2007
## 10 Torger… 42 20.2 190 4250 <NA> 2007
## # … with 334 more rows
# "species","island","year"を選択しない
penguins |>
select(!c(species, island, year))
## # A tibble: 344 × 5
## bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex
## <dbl> <dbl> <int> <int> <fct>
## 1 39.1 18.7 181 3750 male
## 2 39.5 17.4 186 3800 female
## 3 40.3 18 195 3250 female
## 4 NA NA NA NA <NA>
## 5 36.7 19.3 193 3450 female
## 6 39.3 20.6 190 3650 male
## 7 38.9 17.8 181 3625 female
## 8 39.2 19.6 195 4675 male
## 9 34.1 18.1 193 3475 <NA>
## 10 42 20.2 190 4250 <NA>
## # … with 334 more rows
# "species"から"bill_length_mm"を選択しない
penguins |>
select(!species:bill_length_mm)
## # A tibble: 344 × 5
## bill_depth_mm flipper_length_mm body_mass_g sex year
## <dbl> <int> <int> <fct> <int>
## 1 18.7 181 3750 male 2007
## 2 17.4 186 3800 female 2007
## 3 18 195 3250 female 2007
## 4 NA NA NA <NA> 2007
## 5 19.3 193 3450 female 2007
## 6 20.6 190 3650 male 2007
## 7 17.8 181 3625 female 2007
## 8 19.6 195 4675 male 2007
## 9 18.1 193 3475 <NA> 2007
## 10 20.2 190 4250 <NA> 2007
## # … with 334 more rows
# "species","year"をまとめて選択しない
# "species","year"を含むオブジェクトを作成
obs <-
c("species", "year")
# all_of
penguins |>
select(!all_of(obs))
## # A tibble: 344 × 6
## island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex
## <fct> <dbl> <dbl> <int> <int> <fct>
## 1 Torgersen 39.1 18.7 181 3750 male
## 2 Torgersen 39.5 17.4 186 3800 female
## 3 Torgersen 40.3 18 195 3250 female
## 4 Torgersen NA NA NA NA <NA>
## 5 Torgersen 36.7 19.3 193 3450 female
## 6 Torgersen 39.3 20.6 190 3650 male
## 7 Torgersen 38.9 17.8 181 3625 female
## 8 Torgersen 39.2 19.6 195 4675 male
## 9 Torgersen 34.1 18.1 193 3475 <NA>
## 10 Torgersen 42 20.2 190 4250 <NA>
## # … with 334 more rows
# any_of
penguins |>
select(!any_of(obs))
## # A tibble: 344 × 6
## island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g sex
## <fct> <dbl> <dbl> <int> <int> <fct>
## 1 Torgersen 39.1 18.7 181 3750 male
## 2 Torgersen 39.5 17.4 186 3800 female
## 3 Torgersen 40.3 18 195 3250 female
## 4 Torgersen NA NA NA NA <NA>
## 5 Torgersen 36.7 19.3 193 3450 female
## 6 Torgersen 39.3 20.6 190 3650 male
## 7 Torgersen 38.9 17.8 181 3625 female
## 8 Torgersen 39.2 19.6 195 4675 male
## 9 Torgersen 34.1 18.1 193 3475 <NA>
## 10 Torgersen 42 20.2 190 4250 <NA>
## # … with 334 more rows
# "bill"で始まる変数を選択しない
# starts_with
penguins |>
select(!starts_with("bill"))
## # A tibble: 344 × 6
## species island flipper_length_mm body_mass_g sex year
## <fct> <fct> <int> <int> <fct> <int>
## 1 Adelie Torgersen 181 3750 male 2007
## 2 Adelie Torgersen 186 3800 female 2007
## 3 Adelie Torgersen 195 3250 female 2007
## 4 Adelie Torgersen NA NA <NA> 2007
## 5 Adelie Torgersen 193 3450 female 2007
## 6 Adelie Torgersen 190 3650 male 2007
## 7 Adelie Torgersen 181 3625 female 2007
## 8 Adelie Torgersen 195 4675 male 2007
## 9 Adelie Torgersen 193 3475 <NA> 2007
## 10 Adelie Torgersen 190 4250 <NA> 2007
## # … with 334 more rows
# matches
penguins |>
select(!matches("^bill"))
## # A tibble: 344 × 6
## species island flipper_length_mm body_mass_g sex year
## <fct> <fct> <int> <int> <fct> <int>
## 1 Adelie Torgersen 181 3750 male 2007
## 2 Adelie Torgersen 186 3800 female 2007
## 3 Adelie Torgersen 195 3250 female 2007
## 4 Adelie Torgersen NA NA <NA> 2007
## 5 Adelie Torgersen 193 3450 female 2007
## 6 Adelie Torgersen 190 3650 male 2007
## 7 Adelie Torgersen 181 3625 female 2007
## 8 Adelie Torgersen 195 4675 male 2007
## 9 Adelie Torgersen 193 3475 <NA> 2007
## 10 Adelie Torgersen 190 4250 <NA> 2007
## # … with 334 more rows
# "mm"で終わる変数を選択しない
# ends_with
penguins |>
select(!ends_with("mm"))
## # A tibble: 344 × 5
## species island body_mass_g sex year
## <fct> <fct> <int> <fct> <int>
## 1 Adelie Torgersen 3750 male 2007
## 2 Adelie Torgersen 3800 female 2007
## 3 Adelie Torgersen 3250 female 2007
## 4 Adelie Torgersen NA <NA> 2007
## 5 Adelie Torgersen 3450 female 2007
## 6 Adelie Torgersen 3650 male 2007
## 7 Adelie Torgersen 3625 female 2007
## 8 Adelie Torgersen 4675 male 2007
## 9 Adelie Torgersen 3475 <NA> 2007
## 10 Adelie Torgersen 4250 <NA> 2007
## # … with 334 more rows
# matches
penguins |>
select(!matches("mm$"))
## # A tibble: 344 × 5
## species island body_mass_g sex year
## <fct> <fct> <int> <fct> <int>
## 1 Adelie Torgersen 3750 male 2007
## 2 Adelie Torgersen 3800 female 2007
## 3 Adelie Torgersen 3250 female 2007
## 4 Adelie Torgersen NA <NA> 2007
## 5 Adelie Torgersen 3450 female 2007
## 6 Adelie Torgersen 3650 male 2007
## 7 Adelie Torgersen 3625 female 2007
## 8 Adelie Torgersen 4675 male 2007
## 9 Adelie Torgersen 3475 <NA> 2007
## 10 Adelie Torgersen 4250 <NA> 2007
## # … with 334 more rows
# "length"を含む変数を選択しない
# contains
penguins |>
select(!contains("length"))
## # A tibble: 344 × 6
## species island bill_depth_mm body_mass_g sex year
## <fct> <fct> <dbl> <int> <fct> <int>
## 1 Adelie Torgersen 18.7 3750 male 2007
## 2 Adelie Torgersen 17.4 3800 female 2007
## 3 Adelie Torgersen 18 3250 female 2007
## 4 Adelie Torgersen NA NA <NA> 2007
## 5 Adelie Torgersen 19.3 3450 female 2007
## 6 Adelie Torgersen 20.6 3650 male 2007
## 7 Adelie Torgersen 17.8 3625 female 2007
## 8 Adelie Torgersen 19.6 4675 male 2007
## 9 Adelie Torgersen 18.1 3475 <NA> 2007
## 10 Adelie Torgersen 20.2 4250 <NA> 2007
## # … with 334 more rows
# matches
penguins |>
select(!matches("length"))
## # A tibble: 344 × 6
## species island bill_depth_mm body_mass_g sex year
## <fct> <fct> <dbl> <int> <fct> <int>
## 1 Adelie Torgersen 18.7 3750 male 2007
## 2 Adelie Torgersen 17.4 3800 female 2007
## 3 Adelie Torgersen 18 3250 female 2007
## 4 Adelie Torgersen NA NA <NA> 2007
## 5 Adelie Torgersen 19.3 3450 female 2007
## 6 Adelie Torgersen 20.6 3650 male 2007
## 7 Adelie Torgersen 17.8 3625 female 2007
## 8 Adelie Torgersen 19.6 4675 male 2007
## 9 Adelie Torgersen 18.1 3475 <NA> 2007
## 10 Adelie Torgersen 20.2 4250 <NA> 2007
## # … with 334 more rows
# x1~x6の変数を追加したオブジェクトを作成
df <-
tribble(
~x1, ~x2, ~x3, ~x4, ~x5, ~x6,
1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12,
13, 14, 15, 16, 17, 18)
df
## # A tibble: 3 × 6
## x1 x2 x3 x4 x5 x6
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 2 3 4 5 6
## 2 7 8 9 10 11 12
## 3 13 14 15 16 17 18
# x1~x3の変数を選択しない
# num_range
df |>
select(!num_range("x", 1:3))
## # A tibble: 3 × 3
## x4 x5 x6
## <dbl> <dbl> <dbl>
## 1 4 5 6
## 2 10 11 12
## 3 16 17 18
# matches
df |>
select(!matches("x[1-3]"))
## # A tibble: 3 × 3
## x4 x5 x6
## <dbl> <dbl> <dbl>
## 1 4 5 6
## 2 10 11 12
## 3 16 17 18
rm(df)